using System;
using System.Collections.Generic;

namespace Ghasam.Business.Domain.Entity
{
    /// <summary>
    /// AdvancePayment object for NHibernate mapped table AdvancePayment.
    /// </summary>
    [Serializable]
    public class AdvancePayment
    {


        private Employee _Employee;
        private System.Int32? _Amount;
        private System.Int32? _Period;
        private System.Int32? _MonthlyInstalment;
        private System.Boolean? _IsSettled;
        private System.DateTime? _DueDate;
        private System.DateTime? _GetDate;
        private IList<AdjustmentPayment> _AdjustmentPayments = new List<AdjustmentPayment>();

        public AdvancePayment()
        {
        }

        public int Id { get; set; }

        public virtual Employee Employee
        {
            get { return _Employee; }
            set { _Employee = value; }
        }

         public virtual System.Int32? Amount {
             get { return _Amount; }
             set { _Amount = value;}
         }

         public virtual System.Int32? Period {
             get { return _Period; }
             set { _Period = value;}
         }

         public virtual System.Int32? MonthlyInstalment {
             get { return _MonthlyInstalment; }
             set { _MonthlyInstalment = value;}
         }

         public virtual System.Boolean? IsSettled {
             get { return _IsSettled; }
             set { _IsSettled = value;}
         }

         public virtual System.DateTime? DueDate {
             get { return _DueDate; }
             set { _DueDate = value;}
         }

         public virtual System.DateTime? GetDate {
             get { return _GetDate; }
             set { _GetDate = value;}
         }

         public virtual IList<AdjustmentPayment> AdjustmentPayments{
             get { return _AdjustmentPayments; }
             set { _AdjustmentPayments = value; }
         }


        public override int GetHashCode()
        {
            return Id.GetHashCode();
        }

     }
}
